1. Field of the Invention
The present invention relates to the field of network communications. More specifically, the present invention relates to extending the information provided to a Server Load Balancer via a dynamic feedback protocol in order to provide more efficient load balancing.
2. The Background
Server load balancing devices (SLBs) are commonly used in computer networks to distribute a load among multiple servers. The Dynamic Feedback Protocol (DFP) was created to permit monitoring of the individual servers""loads and communication of the current loads to the SLB so that the SLB could evenly distribute a load among the multiple servers.
In DFP, a vector is created by each server, the vector containing the current total server load. This vector is then communicated via the semi-secure DFP to the SLB. Thus, under high traffic conditions, an SLB can remove busy servers from the pool of available servers.
One major drawback, however, of this system is that it limits the SLB to performing rather simplistic load balancing. By communicating only the total server load to the SLB, the SLB really only has three choices as to how to handle a busy server: it can stop sending it traffic entirely, it can (more drastically) send all traffic back to its origin until the server is freed up, or it can reduce the overall load sent to the server.
What is needed is a solution which permits an SLB to perform more complex, and more efficient, load balancing than was available in the prior art.
More effective load balancing by a Server Load Balancer may be achieved by implementing extended Server Load Balancing information in a server. The extended Server Load Balancing information includes a special listing of xe2x80x9chotxe2x80x9d objects, or objects that have been designated for special handling by the Server Load Balancer. In order to determine which objects on a server are xe2x80x9chotxe2x80x9d at any particular point in time, the available throughput for the server is determined. This is then multiplied by a xe2x80x9chotnessxe2x80x9d percentage, resulting in an Object Threshold Value (OTV). Each of N objects is then assigned an Object Request Value (ORV), the N objects determined by taking the N objects utilizing the most bandwidth. The ORVs are then compared with the OTV, and any of the objects whose ORV exceeds the OTV are labeled as xe2x80x9chotxe2x80x9d. Finally, information on the xe2x80x9chotxe2x80x9d objects is communicated to the Server Load Balancer (SLB) for special handling.